home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-01 / pdcurs21.zip / MAKEFILE < prev    next >
Text File  |  1993-01-18  |  24KB  |  531 lines

  1. # $Header: c:/curses/RCS/makefile.%v 2.0 1992/11/16 22:40:49 MH Rel $
  2. #================ PDCurses makefile for DMAKE 3.8 ======================
  3. # This makefile is for DMAKE, either under DOS or OS/2
  4. # The fowwoing OS/Compiler combinations are supported:
  5. #
  6. # Target       Compiler    Command                Compiler
  7. # Operating    Mnemoic     Line
  8. # System                   
  9. #-----------------------------------------------------------------------
  10. # DOS            BCC       OS=DOS COMP=BCC        Borland C++
  11. # DOS            TCC       OS=DOS COMP=TCC        Borland Turbo C++
  12. # DOS            TC        OS=DOS COMP=TC         Borland Turbo C
  13. # DOS            MSC       OS=DOS COMP=MSC        Microsoft C
  14. # DOS            QC        OS=DOS COMP=QC         Microsoft Quick C
  15. # OS2            MSC       OS=OS2 COMP=MSC        Microsoft C
  16. # OS2            CSET2     OS=OS2 COMP=CSET2      IBM C Set/2
  17. # OS2            EMX       OS=OS2 COMP=EMX        emx/gcc
  18. # OS2            TSC       OS=OS2 COMP=TSC        TopSpeed C
  19. # OS2            WATCOMC   OS=OS2 COMP=WATCOMC    Watcom C
  20. #-----------------------------------------------------------------------
  21. # Special case for Microsoft Compiler when the host OS is DOS and the
  22. # target OS is OS2:
  23. # Command line will be OS=DOS COMP=MSC TOS=OS2
  24. #-----------------------------------------------------------------------
  25. MODEL = L
  26. model = l
  27. #-----------------------------------------------------------------------
  28. # default setup for BCC under DOS, optimised version
  29. # change values below or override with -e switch on command line
  30. #-----------------------------------------------------------------------
  31. OS=DOS
  32. COMP=BCC
  33. OPT=Y
  34. #-----------------------------------------------------------------------
  35. .IF $(TOS) == $(NULL)
  36.     TOS = $(OS)
  37. .END
  38. .IF $(OS) == OS2
  39. #========================================================================
  40. #========================= OS2 - CSET2 ==================================
  41. #========================================================================
  42.     .IF $(COMP) == CSET2
  43.         LINK      = link386
  44.         CC        = icc
  45.         LIB_EXE   = lib
  46.         LIB_DIR   = g:\ibmc\lib
  47.         SETARGV   = $(LIB_DIR)\setargv
  48.         .IF $(OPT) == N
  49.             CDEBUG = -Q+ -O- -Ti -I$(CC_INC)
  50.             LDEBUG = /NOE /SE:160 /PMTYPE:VIO
  51.             DBG    =d
  52.         .ELSE
  53.             CDEBUG  = -Q+ -O+ -DNDEBUG -I$(CC_INC)
  54.             LDEBUG  = /NOE /SE:160 /PMTYPE:VIO
  55.             DBG     =o
  56.         .END
  57.         OBJ      = obj
  58.         OBJ_DIR  = o$(DBG)
  59.         PDCLIB   = curses$(DBG).lib
  60.         LIBRSP   =,lib.map;
  61.         CFLAGS   = $(CDEBUG) -Fo$@ -c -I$(CC_INC)
  62.         MAKE_LIB = $(LIB_EXE) $(PDCLIB) $(LIBFLAGS) @$(LRF)
  63.         DLFLAGS  = $(LDEBUG) $*.obj,,,$(PDCLIB);
  64.         UTLFLAGS = $(LDEBUG) $*.obj;
  65.         MANFLAGS = $(LDEBUG) $*.obj+$(SETARGV);
  66. #========================================================================
  67. #========================= OS2 - MSC ====================================
  68. #========================================================================
  69.     .ELIF $(COMP) == MSC
  70.         LINK      = link
  71.         CC        = cl
  72.         LIB_EXE   = lib
  73.         LIB_DIR   = $(LIB)
  74.         SETARGV   = $(LIB_DIR)\setargv
  75.         DEFINES   = -D__OS2__
  76.         .IF $(OPT) == N
  77.             CDEBUG =-nologo -Od -Zi -A$(MODEL)
  78.             LDEBUG =/CO /NOE /SE:160 /PMTYPE:VIO
  79.             DBG    =d
  80.         .ELSE
  81.             CDEBUG  =-nologo -Ox -A$(MODEL) -DNDEBUG
  82.             LDEBUG  = /NOE /SE:160 /PMTYPE:VIO
  83.             DBG     =o
  84.         .END
  85.         OBJ      = obj
  86.         OBJ_DIR  = o$(DBG)$(MODEL)
  87.         PDCLIB   = $(MODEL)curses$(DBG).lib
  88.         LIBRSP   =,lib.map;
  89.         CFLAGS   = $(CDEBUG) $(DEFINES) -Fo$@ -c -I$(CC_INC)
  90.         MAKE_LIB = $(LIB_EXE) $(PDCLIB) $(LIBFLAGS) @$(LRF)
  91.         DLFLAGS  = $(LDEBUG) $*.obj,,,$(PDCLIB);
  92.         UTLFLAGS  = $(LDEBUG) $*.obj;
  93.         MANFLAGS = $(LDEBUG) $*.obj+$(SETARGV);
  94. #========================================================================
  95. #========================= OS2 - EMX ====================================
  96. #========================================================================
  97.     .ELIF $(COMP) == EMX
  98.         LINK      = $(CC)
  99.         CC        = gcc
  100.         LIB_EXE   = ar
  101.         LIB_DIR   = g:\emx\lib
  102.         LIBFLAGS  = rcv
  103.         DEFINES   = -D__OS2__ -D__EMX__
  104.         .IF $(OPT) == N
  105.             CDEBUG =-g
  106.             LDEBUG = -Zomf 
  107.             DBG    =d
  108.         .ELSE
  109.             CDEBUG  =-O -DNDEBUG
  110.             LDEBUG = -Zomf 
  111.             DBG     =o
  112.         .END
  113.         OBJ      = o
  114.         OBJ_DIR  = o$(DBG)
  115.         PDCLIB   = curses$(DBG).lib
  116.         LIBRSP   =,lib.map;
  117.         CFLAGS   = $(CDEBUG) $(DEFINES) -o$(@:db).o -c -I$(CC_INC)
  118.         MAKE_LIB = $(LIB_EXE) $(LIBFLAGS) curses.a $(OBJ_DIR)/*.o
  119.         EMX_OMF_LIB=emxomf -l -o $(PDCLIB) curses.a
  120.         EMX_OMF_OBJ=emxomf -d -o $*.obj $*.o
  121.         DLFLAGS  = $(LDEBUG) -L$(LIB_DIR) -lc -los2 $*.obj $(PDCLIB) $(LIB_DIR)\vio32.lib -o $* $(DEMO_DIR)\$*.def
  122.         UTLFLAGS = $(LDEBUG) -L$(LIB_DIR) -lc -los2 $*.obj -o $* $(TOOLS_DIR)\$*.def
  123.         MANFLAGS = $(LDEBUG) -Lg:\emx\lib -lc -los2 $*.obj -o $* $(TOOLS_DIR)\$*.def
  124. #========================================================================
  125. #========================= OS2 - TSC ====================================
  126. #========================================================================
  127. # If you can fill in the following, please let me know !
  128. #========================================================================
  129.     .ELIF $(COMP) == TSC
  130.         OBJ      = obj
  131. #========================================================================
  132. #========================= OS2 - WATCOMC ================================
  133. #========================================================================
  134. # If you can fill in the following, please let me know !
  135. #========================================================================
  136.     .ELIF $(COMP) == WATCOMC
  137.         CC       = cc
  138.         OBJ      = obj
  139.     .END
  140. .ELSE
  141. #========================================================================
  142. #========================= DOS - BCC ====================================
  143. #========================================================================
  144.     .IF $(COMP) == BCC
  145.         LINK      = tlink
  146.         CC        = bcc
  147.         LIB_EXE   = tlib
  148.         LIB_DIR   = f:\c\lib
  149.         WILDARGS  = $(LIB_DIR)\wildargs.obj
  150.         LIB_FLAGS = /C /E
  151.         CFG       = +$(ROOTDIR)\PDCURSES.CFG
  152.         DEFINES   = 
  153.         .IF $(OPT) == N
  154.             CDEBUG     =-N -v -y
  155.             LDEBUG     =-c -v -s -l -e
  156.             DBG    =d
  157.         .ELSE
  158.             CDEBUG     = -O -DNDEBUG
  159.             LDEBUG     =
  160.             DBG     =o
  161.         .END
  162.         OBJ      = obj
  163.         OBJ_DIR  = o$(DBG)$(model)
  164.         PDCLIB   = $(model)curses$(DBG).lib
  165.         LIBRSP   =,lib.map
  166.         CFLAGS   = $(CFG) $(CDEBUG) $(DEFINES) -m$(model) -I$(CC_INC) -If:\c\include -o$@
  167.         MAKE_LIB = $(LIB_EXE) $(PDCLIB) $(LIBFLAGS) @$(LRF)
  168.         DLFLAGS  = $(LDEBUG) $(LIB_DIR)\c0$(model).obj+$*.obj,$*,,$(PDCLIB)+$(LIB_DIR)\c$(model).lib;
  169.         UTLFLAGS = $(LDEBUG) $(LIB_DIR)\c0$(model).obj+$*.obj,$*,,$(LIB_DIR)\c$(model).lib;
  170.         MANFLAGS = $(LDEBUG) $(LIB_DIR)\c0$(model).obj+$*.obj+$(WILDARGS),$*,,$(LIB_DIR)\c$(model).lib;
  171. #========================================================================
  172. #========================= DOS - TCC ====================================
  173. #========================================================================
  174.     .ELIF $(COMP) == TCC
  175.         LINK      = tlink
  176.         CC        = tcc
  177.         LIB_EXE   = tlib
  178.         LIB_DIR   = f:\c\lib
  179.         WILDARGS  = $(LIB_DIR)\wildargs.obj
  180.         LIB_FLAGS = /C /E
  181.         CFG       = +$(ROOTDIR)\PDCURSES.CFG
  182.         DEFINES   = 
  183.         .IF $(OPT) == N
  184.             CDEBUG     =-N -v -y
  185.             LDEBUG     =-c -v -s -l -e
  186.             DBG    =d
  187.         .ELSE
  188.             CDEBUG     = -O -DNDEBUG
  189.             LDEBUG     =
  190.             DBG     =o
  191.         .END
  192.         OBJ      = obj
  193.         OBJ_DIR  = o$(DBG)$(model)
  194.         PDCLIB   = $(model)curses$(DBG).lib
  195.         LIBRSP   =,lib.map
  196.         CFLAGS   = $(CFG) $(CDEBUG) $(DEFINES) -m$(model) -I$(CC_INC) -If:\c\include -o$@
  197.         MAKE_LIB = $(LIB_EXE) $(PDCLIB) $(LIBFLAGS) @$(LRF)
  198.         DLFLAGS  = $(LDEBUG) $(LIB_DIR)\c0$(model).obj+$*.obj,$*,,$(PDCLIB)+$(LIB_DIR)\c$(model).lib;
  199.         UTLFLAGS = $(LDEBUG) $(LIB_DIR)\c0$(model).obj+$*.obj,$*,,$(LIB_DIR)\c$(model).lib;
  200.         MANFLAGS = $(LDEBUG) $(LIB_DIR)\c0$(model).obj+$*.obj+$(WILDARGS),$*,,$(LIB_DIR)\c$(model).lib;
  201. #========================================================================
  202. #========================= DOS - MSC ====================================
  203. #========================================================================
  204.     .ELIF $(COMP) == MSC
  205.         LINK      = link
  206.         CC        = cl
  207.         LIB_EXE   = lib
  208.         SETARGV   = $(LIB)\setargv
  209.         .IF $(TOS) == OS2
  210.             OS2LD     = /PMTYPE:VIO
  211.             DEFINES   = -D__OS2__
  212.             OS2LIB    = $(LIB)\os2.lib
  213.             PLUS      =+
  214.             RUNBIND   = bind $*
  215.         .END
  216.         .IF $(OPT) == N
  217.             CDEBUG =-nologo -Od -Zi -A$(MODEL)
  218.             LDEBUG =/CO /NOE /SE:160 $(OS2LD)
  219.             DBG    =d
  220.         .ELSE
  221.             CDEBUG  =-nologo -Ox -A$(MODEL) -DNDEBUG
  222.             LDEBUG  = /NOE /SE:160 $(OS2LD)
  223.             DBG     =o
  224.         .END
  225.         OBJ      = obj
  226.         OBJ_DIR  = o$(DBG)$(MODEL)
  227.         PDCLIB   = $(MODEL)curses$(DBG).lib
  228.         LIBRSP   =,lib.map;
  229.         CFLAGS   = $(CDEBUG) $(DEFINES) -Fo$@ -c -I$(CC_INC)
  230.         MAKE_LIB = $(LIB_EXE) $(PDCLIB) $(LIBFLAGS) @$(LRF)
  231.         DLFLAGS  = $(LDEBUG) $*.obj,,,$(PDCLIB)$(PLUS)$(OS2LIB);
  232.         UTLFLAGS = $(LDEBUG) $*.obj,,,$(OS2LIB);
  233.         MANFLAGS = $(LDEBUG) $*.obj+$(SETARGV),,,$(OS2LIB);
  234. #========================================================================
  235. #========================= DOS - QC =====================================
  236. #========================================================================
  237.     .ELIF $(COMP) == QC
  238.         LINK      = link
  239.         CC        = qcc
  240.         LIB_EXE   = lib
  241.         SETARGV   = $(LIB)\setargv
  242.         .IF $(OPT) == N
  243.             CDEBUG =-Od -Zi -A$(MODEL)
  244.             LDEBUG =/CO /NOE /SE:160 
  245.             DBG    =d
  246.         .ELSE
  247.             CDEBUG  =-Ox -A$(MODEL) -DNDEBUG
  248.             LDEBUG  = /NOE /SE:160 
  249.             DBG     =o
  250.         .END
  251.         OBJ      = obj
  252.         OBJ_DIR  = $(DBG)$(MODEL)
  253.         PDCLIB   = $(MODEL)curses$(DBG).lib
  254.         LIBRSP   =,lib.map;
  255.         CFLAGS   = $(CDEBUG) $(DEFINES) -Fo$@ -c -I$(CC_INC)
  256.         MAKE_LIB = $(LIB_EXE) $(PDCLIB) $(LIBFLAGS) @$(LRF)
  257.         DLFLAGS  = $(LDEBUG) $*.obj,,,$(PDCLIB);
  258.         UTLFLAGS = $(LDEBUG) $*.obj;
  259.         MANFLAGS = $(LDEBUG) $*.obj+$(SETARGV);
  260.     .END
  261. .END
  262. #-----------------------------------------------------------------------
  263. ROOTDIR   = c:\curses
  264. CC_INC    = c:/curses
  265. PORT_DIR  = $(ROOTDIR)\portable
  266. NONP_DIR  = $(ROOTDIR)\nonport
  267. PRIV_DIR  = $(ROOTDIR)\private
  268. FLEX_DIR  = $(ROOTDIR)\flexos
  269. TOOLS_DIR = $(ROOTDIR)\tools
  270. DEMO_DIR  = $(ROOTDIR)\demos
  271. DOC_DIR   = $(ROOTDIR)\doc
  272. LRF       = PDCurses.lrf
  273. #######################################################################
  274. #<<<<<< Nothing below here should need to be changed >>>>>>>>>>>>>>>>>>
  275. #######################################################################
  276. #
  277. #   Header Files
  278. #
  279. HEADERS = $(CC_INC)\curses.h $(CC_INC)\curspriv.h $(CC_INC)\cursos2.h
  280.  
  281. #######################################################################
  282. ########################## First (default) target #####################
  283. #######################################################################
  284. all:    $(PDCLIB) demos manual
  285. #######################################################################
  286. ############################ Demo Programs Targets ####################
  287. #######################################################################
  288. demos:  $(PDCLIB) xmas.exe newdemo.exe testcurs.exe firework.exe
  289.  
  290. newdemo.exe:    $(PDCLIB) newdemo.obj
  291.                $(LINK) $(DLFLAGS)
  292.  
  293. xmas.exe:       $(PDCLIC) xmas.obj
  294.                $(LINK) $(DLFLAGS)
  295.  
  296. testcurs.exe:   $(PDCLIB) testcurs.obj
  297.                $(LINK) $(DLFLAGS)
  298.  
  299. firework.exe:   $(PDCLIB) firework.obj
  300.                $(LINK) $(DLFLAGS)
  301.  
  302.  
  303. newdemo.obj:   $(HEADERS) $(DEMO_DIR)\newdemo.c
  304.                $(CC) $(CFLAGS) $(DEMO_DIR)\newdemo.c
  305.                $(EMX_OMF_OBJ)
  306.  
  307. xmas.obj:      $(HEADERS)  $(DEMO_DIR)\xmas.c
  308.                $(CC) $(CFLAGS) $(DEMO_DIR)\xmas.c
  309.                $(EMX_OMF_OBJ)
  310.  
  311. testcurs.obj:  $(HEADERS)  $(DEMO_DIR)\testcurs.c
  312.                $(CC) $(CFLAGS) $(DEMO_DIR)\testcurs.c
  313.                $(EMX_OMF_OBJ)
  314.  
  315. firework.obj:  $(HEADERS)  $(DEMO_DIR)\firework.c
  316.                $(CC) $(CFLAGS) $(DEMO_DIR)\firework.c
  317.                $(EMX_OMF_OBJ)
  318.  
  319. #######################################################################
  320. ######################### Utility Program  Targets ####################
  321. #######################################################################
  322.  
  323. buildlrf.exe:   buildlrf.obj
  324.                $(LINK) $(UTLFLAGS)
  325.                $(RUNBIND)
  326.  
  327. buildlrf.obj: $(TOOLS_DIR)\buildlrf.c
  328.                $(CC) $(CFLAGS) $(TOOLS_DIR)\buildlrf.c
  329.                $(EMX_OMF_OBJ)
  330.  
  331. manext.exe:   manext.obj
  332.                $(LINK) $(MANFLAGS)
  333.                $(RUNBIND)
  334.  
  335. manext.obj: $(TOOLS_DIR)\manext.c
  336.                $(CC) $(CFLAGS) $(TOOLS_DIR)\manext.c
  337.                $(EMX_OMF_OBJ)
  338.  
  339. #######################################################################
  340. ######################### Library Program  Targets ####################
  341. #######################################################################
  342. #
  343. #       Portable Curses Functions
  344. #
  345. PORT1 = $(OBJ_DIR)\baudrate.$(OBJ) $(OBJ_DIR)\beep.$(OBJ)     $(OBJ_DIR)\box.$(OBJ)      \
  346.         $(OBJ_DIR)\canchang.$(OBJ) $(OBJ_DIR)\cbreak.$(OBJ)   $(OBJ_DIR)\clearok.$(OBJ)  \
  347.         $(OBJ_DIR)\colorcon.$(OBJ) $(OBJ_DIR)\def_prog.$(OBJ) $(OBJ_DIR)\def_shel.$(OBJ) \
  348.         $(OBJ_DIR)\delay_ou.$(OBJ) $(OBJ_DIR)\delwin.$(OBJ)   $(OBJ_DIR)\doupdate.$(OBJ) \
  349.         $(OBJ_DIR)\echo.$(OBJ)     $(OBJ_DIR)\endwin.$(OBJ)   $(OBJ_DIR)\erasecha.$(OBJ) \
  350.         $(OBJ_DIR)\fixterm.$(OBJ)  $(OBJ_DIR)\flash.$(OBJ)    $(OBJ_DIR)\flushinp.$(OBJ)
  351.  
  352. PORT2 = $(OBJ_DIR)\gettmode.$(OBJ) $(OBJ_DIR)\getyx.$(OBJ)    $(OBJ_DIR)\has_ic.$(OBJ)   \
  353.         $(OBJ_DIR)\has_il.$(OBJ)   $(OBJ_DIR)\hascolor.$(OBJ) $(OBJ_DIR)\idlok.$(OBJ)    \
  354.         $(OBJ_DIR)\initcolo.$(OBJ) $(OBJ_DIR)\initpair.$(OBJ) $(OBJ_DIR)\initscr.$(OBJ)  \
  355.         $(OBJ_DIR)\intrflus.$(OBJ) $(OBJ_DIR)\keyname.$(OBJ)  $(OBJ_DIR)\keypad.$(OBJ)   \
  356.         $(OBJ_DIR)\killchar.$(OBJ) $(OBJ_DIR)\leaveok.$(OBJ)  $(OBJ_DIR)\longname.$(OBJ) \
  357.         $(OBJ_DIR)\meta.$(OBJ)     $(OBJ_DIR)\mvcur.$(OBJ)    $(OBJ_DIR)\mvprintw.$(OBJ)
  358.  
  359. PORT3 = $(OBJ_DIR)\mvscanw.$(OBJ)  $(OBJ_DIR)\mvwin.$(OBJ)    $(OBJ_DIR)\mvwprint.$(OBJ) \
  360.         $(OBJ_DIR)\mvwscanw.$(OBJ) $(OBJ_DIR)\newpad.$(OBJ)   $(OBJ_DIR)\newterm.$(OBJ)  \
  361.         $(OBJ_DIR)\newwin.$(OBJ)   $(OBJ_DIR)\nl.$(OBJ)       $(OBJ_DIR)\nocbreak.$(OBJ) \
  362.         $(OBJ_DIR)\nodelay.$(OBJ)  $(OBJ_DIR)\noecho.$(OBJ)   $(OBJ_DIR)\noraw.$(OBJ)    \
  363.         $(OBJ_DIR)\overlay.$(OBJ)  $(OBJ_DIR)\overwrit.$(OBJ) $(OBJ_DIR)\paircont.$(OBJ) \
  364.         $(OBJ_DIR)\pnoutref.$(OBJ) $(OBJ_DIR)\prefresh.$(OBJ) $(OBJ_DIR)\printw.$(OBJ)
  365.  
  366. PORT4 = $(OBJ_DIR)\raw.$(OBJ)      $(OBJ_DIR)\refresh.$(OBJ)  $(OBJ_DIR)\reset_pr.$(OBJ) \
  367.         $(OBJ_DIR)\reset_sh.$(OBJ) $(OBJ_DIR)\resetter.$(OBJ) $(OBJ_DIR)\resetty.$(OBJ)  \
  368.         $(OBJ_DIR)\saveoldt.$(OBJ) $(OBJ_DIR)\saveterm.$(OBJ) $(OBJ_DIR)\savetty.$(OBJ)  \
  369.         $(OBJ_DIR)\scanw.$(OBJ)    $(OBJ_DIR)\scroll.$(OBJ)   $(OBJ_DIR)\scrollok.$(OBJ) \
  370.         $(OBJ_DIR)\set_term.$(OBJ) $(OBJ_DIR)\setscrrg.$(OBJ) $(OBJ_DIR)\standend.$(OBJ) \
  371.         $(OBJ_DIR)\standout.$(OBJ) $(OBJ_DIR)\startcol.$(OBJ) $(OBJ_DIR)\subwin.$(OBJ)
  372.  
  373. PORT5 = $(OBJ_DIR)\touchlin.$(OBJ) $(OBJ_DIR)\touchwin.$(OBJ) $(OBJ_DIR)\typeahea.$(OBJ) \
  374.         $(OBJ_DIR)\unctrl.$(OBJ)   $(OBJ_DIR)\ungetch.$(OBJ)  $(OBJ_DIR)\waddch.$(OBJ)   \
  375.         $(OBJ_DIR)\waddstr.$(OBJ)  $(OBJ_DIR)\wattroff.$(OBJ) $(OBJ_DIR)\wattron.$(OBJ)  \
  376.         $(OBJ_DIR)\wattrset.$(OBJ) $(OBJ_DIR)\wclear.$(OBJ)   $(OBJ_DIR)\wclrtobo.$(OBJ) \
  377.         $(OBJ_DIR)\wclrtoeo.$(OBJ) $(OBJ_DIR)\wdelch.$(OBJ)   $(OBJ_DIR)\wdeletel.$(OBJ) \
  378.         $(OBJ_DIR)\werase.$(OBJ)   $(OBJ_DIR)\wgetch.$(OBJ)   $(OBJ_DIR)\wgetstr.$(OBJ)
  379.  
  380. PORT6 = $(OBJ_DIR)\winch.$(OBJ)    $(OBJ_DIR)\winsch.$(OBJ)   $(OBJ_DIR)\winsertl.$(OBJ) \
  381.         $(OBJ_DIR)\wmove.$(OBJ)    $(OBJ_DIR)\wnoutref.$(OBJ) $(OBJ_DIR)\wprintw.$(OBJ)  \
  382.         $(OBJ_DIR)\wrefresh.$(OBJ) $(OBJ_DIR)\wscanw.$(OBJ)   $(OBJ_DIR)\wsetscrr.$(OBJ) \
  383.         $(OBJ_DIR)\wstanden.$(OBJ) $(OBJ_DIR)\wstandou.$(OBJ) $(OBJ_DIR)\curs_set.$(OBJ)
  384.  
  385. PORTABLE = $(PORT1) $(PORT2) $(PORT3) $(PORT4) $(PORT5) $(PORT6)
  386.  
  387. #
  388. #               Non-portable PDCurses Functions
  389. #
  390. NONPORT = $(OBJ_DIR)\border.$(OBJ)   $(OBJ_DIR)\breakcha.$(OBJ) $(OBJ_DIR)\cursoff.$(OBJ)  \
  391.           $(OBJ_DIR)\curson.$(OBJ)   $(OBJ_DIR)\mvwinser.$(OBJ) $(OBJ_DIR)\rawout.$(OBJ)   \
  392.           $(OBJ_DIR)\resize.$(OBJ)   $(OBJ_DIR)\resizew.$(OBJ)  $(OBJ_DIR)\tabsize.$(OBJ)  \
  393.           $(OBJ_DIR)\waddraws.$(OBJ) $(OBJ_DIR)\wborder.$(OBJ)  $(OBJ_DIR)\wbox.$(OBJ)     \
  394.           $(OBJ_DIR)\winprint.$(OBJ) $(OBJ_DIR)\wordchar.$(OBJ) $(OBJ_DIR)\wtabsize.$(OBJ)
  395.  
  396. #
  397. #               Private (Internal) PDCurses Functions
  398. #
  399. PRIV1 = $(OBJ_DIR)\_addtail.$(OBJ) $(OBJ_DIR)\_addwin.$(OBJ)  $(OBJ_DIR)\_backchr.$(OBJ) \
  400.         $(OBJ_DIR)\_cattr.$(OBJ)   $(OBJ_DIR)\_chadd.$(OBJ)   $(OBJ_DIR)\_chgattr.$(OBJ) \
  401.         $(OBJ_DIR)\_chins.$(OBJ)   $(OBJ_DIR)\_ckbiosk.$(OBJ) $(OBJ_DIR)\_clrscr.$(OBJ)  \
  402.         $(OBJ_DIR)\_clrupda.$(OBJ) $(OBJ_DIR)\_findwin.$(OBJ) $(OBJ_DIR)\_fixcurs.$(OBJ)
  403.  
  404. PRIV2 = $(OBJ_DIR)\_gbiosky.$(OBJ) $(OBJ_DIR)\_gcrspos.$(OBJ) $(OBJ_DIR)\_gcurcol.$(OBJ) \
  405.         $(OBJ_DIR)\_gcurrow.$(OBJ) $(OBJ_DIR)\_getattr.$(OBJ) $(OBJ_DIR)\_getcbrk.$(OBJ) \
  406.         $(OBJ_DIR)\_getcols.$(OBJ) $(OBJ_DIR)\_getcrsr.$(OBJ) $(OBJ_DIR)\_getfont.$(OBJ) \
  407.         $(OBJ_DIR)\_getrows.$(OBJ) $(OBJ_DIR)\_getscrn.$(OBJ) $(OBJ_DIR)\_gotoxy.$(OBJ)
  408.  
  409. PRIV3 = $(OBJ_DIR)\_inswin.$(OBJ)  $(OBJ_DIR)\_makenew.$(OBJ) $(OBJ_DIR)\_newline.$(OBJ) \
  410.         $(OBJ_DIR)\_print.$(OBJ)   $(OBJ_DIR)\_putc.$(OBJ)    $(OBJ_DIR)\_putctty.$(OBJ) \
  411.         $(OBJ_DIR)\_queryad.$(OBJ) $(OBJ_DIR)\_rawgetc.$(OBJ) $(OBJ_DIR)\_rmwin.$(OBJ)   \
  412.         $(OBJ_DIR)\_sanity.$(OBJ)  $(OBJ_DIR)\_scb.$(OBJ)     $(OBJ_DIR)\_scrclos.$(OBJ)
  413.  
  414. PRIV4 = $(OBJ_DIR)\_scrnmod.$(OBJ) $(OBJ_DIR)\_scroll.$(OBJ)  $(OBJ_DIR)\_scropen.$(OBJ) \
  415.         $(OBJ_DIR)\_set8025.$(OBJ) $(OBJ_DIR)\_setcrsr.$(OBJ) $(OBJ_DIR)\_setfont.$(OBJ) \
  416.         $(OBJ_DIR)\_setrows.$(OBJ) $(OBJ_DIR)\_setscrn.$(OBJ) $(OBJ_DIR)\_sgetnl.$(OBJ)  \
  417.         $(OBJ_DIR)\_splitpl.$(OBJ) $(OBJ_DIR)\_sysgetc.$(OBJ) $(OBJ_DIR)\_validch.$(OBJ) \
  418.         $(OBJ_DIR)\_xfrmlin.$(OBJ) $(OBJ_DIR)\_vsscanf.$(OBJ)
  419.  
  420. PRIVATE = $(PRIV1) $(PRIV2) $(PRIV3) $(PRIV4)
  421.  
  422. #
  423. #       PDCurses function specific to the FlexOS Operating System
  424. #
  425. #FLEXOS = $(OBJ_DIR)\_16bitmo.$(OBJ) $(OBJ_DIR)\_8bitmod.$(OBJ) $(OBJ_DIR)\_gname.$(OBJ)
  426.  
  427.  
  428. $(PDCLIB): buildlrf.exe $(HEADERS) $(PORTABLE) $(NONPORT) $(PRIVATE)
  429.                +echo $(LIBRSP) >> $(LRF)
  430.                $(MAKE_LIB)
  431.                $(EMX_OMF_LIB)
  432.                +if exist $(LRF) del $(LRF)
  433.  
  434. #
  435. #       Refresh library response file and build library
  436. #
  437. lib:    $(PDCLIB)
  438.                +if exist $(PDCLIB) del $(PDCLIB)
  439.                +if exist $(LRF) del $(LRF)
  440.                +for %%f in ($(OBJ_DIR)\*.obj) do buildlrf +%%f $(LRF)
  441.                +echo $(LIBRSP) >> $(LRF)
  442.                $(MAKE_LIB)
  443.                $(EMX_OMF_LIB)
  444.                +if exist $(LRF) del $(LRF)
  445.  
  446. #
  447. #       Object Module Targets
  448. #
  449. ADDLRF =buildlrf -+$@ $(LRF)
  450.  
  451. # PORTABLE
  452. $(OBJ_DIR)\%.$(OBJ): $(PORT_DIR)/%.c 
  453.                  +-mkdir $(OBJ_DIR)
  454.                  $(CC) $(CFLAGS) $<
  455.                  -$(ADDLRF)
  456.  
  457. # NONPORT
  458.  
  459. $(OBJ_DIR)\%.$(OBJ): $(NONP_DIR)/%.c 
  460.                  +-mkdir $(OBJ_DIR)
  461.                    $(CC) $(CFLAGS) $<
  462.                    -$(ADDLRF)
  463.  
  464. # PRIVATE
  465.  
  466. $(OBJ_DIR)\%.$(OBJ): $(PRIV_DIR)/%.c 
  467.                  +-mkdir $(OBJ_DIR)
  468.                  $(CC) $(CFLAGS) $<
  469.                  -$(ADDLRF)
  470.  
  471.  
  472. # FLEXOS
  473.  
  474. #$(OBJ_DIR)\%.$(OBJ): $(FLEX_DIR)/%.c
  475. #                +-mkdir $(OBJ_DIR)
  476. #                $(CC) $(CFLAGS) $<
  477. #                -$(ADDLRF)
  478.  
  479. #######################################################################
  480. ######################### Documentation Targets #######################
  481. #######################################################################
  482.  
  483. manual:                $(DOC_DIR)\intro.man    $(DOC_DIR)\overview.man $(DOC_DIR)\todo.man manext.exe
  484.        manext $(DOC_DIR)\intro.man                     > PDCurses.man
  485.        manext $(DOC_DIR)\overview.man                  >> PDCurses.man
  486.        +echo .......=================================== >> PDCurses.man
  487.        +echo .......PDCurses Definitions and Variables:        >> PDCurses.man
  488.        +echo .......=================================== >> PDCurses.man
  489.        manext $(CC_INC)\curses.h $(FFLAGS)     >> PDCurses.man
  490.        +echo .......============================ >> PDCurses.man
  491.        +echo .......Portable PDCurses Functions:               >> PDCurses.man
  492.        +echo .......============================ >> PDCurses.man
  493.        manext $(ROOTDIR)\portable\*.c >> PDCurses.man
  494.        +echo .......================================ >> PDCurses.man
  495.        +echo .......Non-portable PDCurses Functions:           >> PDCurses.man
  496.        +echo .......================================ >> PDCurses.man
  497.        manext $(ROOTDIR)\nonport\*.c >> PDCurses.man
  498.        +echo .......============================ >> PDCurses.man
  499.        +echo .......Internal PDCurses Functions:               >> PDCurses.man
  500.        +echo .......============================ >> PDCurses.man
  501.        manext $(ROOTDIR)\private\*.c >> PDCurses.man
  502.        +echo .......========================== >> PDCurses.man
  503.        +echo .......PDCurses Flexos Functions:         >> PDCurses.man
  504.        +echo .......========================== >> PDCurses.man
  505.        manext $(ROOTDIR)\flexos\*.c >> PDCurses.man
  506.        +echo .......======================== >> PDCurses.man
  507.        +echo .......Functions not supported:           >> PDCurses.man
  508.        +echo .......======================== >> PDCurses.man
  509.        manext $(DOC_DIR)\todo.man                      >> PDCurses.man
  510.  
  511. #######################################################################
  512. ######################### Maintenance Targets #########################
  513. #######################################################################
  514. clean:
  515.        +del PDCurses.ar? > NUL:
  516.        +del $(OBJ_DIR)\*.obj
  517.  
  518. zoo:
  519.        zoo a pdcurs20 $(ROOTDIR)\readme $(ROOTDIR)\makefile $(HEADERS)
  520.        zoo a pdcurs20 $(DOC_DIR)\*.man
  521.        zoo a pdcurs20 $(PORT_DIR)\*.c $(NONP_DIR)\*.c $(PRIV_DIR)\*.c
  522.        zoo a pdcurs20 $(FLEX_DIR)\*.c $(DEMO_DIR)\*.c $(DEMO_DIR)\*.def
  523.        zoo a pdcurs20 $(TOOLS_DIR)\*.c $(TOOLS_DIR)\*.def $(ROOTDIR)\pdcurses.cfg
  524.  
  525. zip:
  526.        zip pdcurs20 $(ROOTDIR)\readme $(ROOTDIR)\makefile $(HEADERS) 
  527.        zip pdcurs20 $(DOC_DIR)\*.man
  528.        zip pdcurs20 $(PORT_DIR)\*.c $(NONP_DIR)\*.c $(PRIV_DIR)\*.c
  529.        zip pdcurs20 $(FLEX_DIR)\*.c $(DEMO_DIR)\*.c $(DEMO_DIR)\*.def
  530.        zip pdcurs20 $(TOOLS_DIR)\*.c $(TOOLS_DIR)\*.def $(ROOTDIR)\pdcurses.cfg
  531.